.. :validated: 3.2.0

Тип источника “Зеркало”
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

Зеркалирование позволяет загружать пакеты из внешнего источника в локальный сервер репозиториев и поддерживать их в актуальном состоянии.

.. important::

    Перед настройкой зеркалирования следует убедиться, что на сервере достаточно свободного дискового пространства. В противном случае возможна недоступность интерфейса.

При выборе типа источника **Зеркало** необходимо заполнить обязательное поле **Источник пакетов**. Ввести строку из ``sources.list`` вида ``deb http://example.com/repo/ stable main``.

Если версия используется как источник установки ОС по сети (PXE), в строках источников пакетов для репозиториев ``repository-main`` и ``repository-update`` необходимо дополнительно указать компонент ``main/debian-installer``, чтобы были загружены udeb-пакеты установщика.

Также можно заполнить поле **Описание**. При необходимости включить переключатели:

- **Автоматическая синхронизация** — вкл./выкл. (обновление по системному таймеру);
- **Удалять устаревшие пакеты** — вкл./выкл.

    - **Выключено**: синхронизация только добавляет пакеты. Пакеты, удаленные на внешнем источнике, остаются локально;
    - **Включено**: синхронизация удаляет локальные пакеты, которых нет на источнике.

.. important::

    При указании в строке источника пакетов номера порта (например, 443) удаление устаревших пакетов может выполняться некорректно.

Для сохранения версии репозитория нажать на кнопку **[Сохранить]** в правом нижнем углу.

После сохранения версии станут доступны для редактирования остальные вкладки (см. :ref:`swiu_edit_version`).

После сохранения версии можно выполнить ручную синхронизацию.

Для ручной синхронизации на вкладке **Основное** нажать **Синхронизировать** или выполнить команду:

.. code-block:: bash
    
    aldpro-mirror-run <versionId>
    # где <versionId> — UUID версии типа «Зеркало»

Во время синхронизации отображается статус **syncing**, по завершении — **success** или **error**. При ошибке отобразится лог в поле статуса. Таблица **Текущее содержимое** заполняется после завершения скачивания.

При включенной автоматической синхронизации, зеркало обновляется по расписанию системного таймера. Ручной запуск не влияет на расписание.

По умолчанию автосинхронизация выполняется 1 раз в 24 часа. При необходимости интервал можно изменить:

.. code-block:: bash
    
    systemctl edit --full aldpro-apt-mirror-runner.timer
    # В секции [Timer] указать нужное значение, например: OnUnitActiveSec=1h или OnActiveSec=1min
    systemctl restart aldpro-apt-mirror-runner.timer

В состоянии **Редактируется** доступна кнопка **Опубликовать**. Она становится активной после первой успешной синхронизации.